package org.ccay.async;

import org.ccay.async.conduit.AsyncConduit;
import org.ccay.async.config.AsyncConduitConfig;


/**
 * 异步框架。
 * 	
 * 
 * @since Dec 12, 2011
 */
public interface IAsyncFramework {
	
	/**
	 * 根据消息获取该消息配置的异步通道。
	 * 
	 * 
	 * @since Dec 13, 2011
	 * @param message
	 * @return
	 */
	public AsyncConduitConfig getConduitConfig(AsyncMessage message);
	
	/**
	 * 获取框架默认的异步通道。
	 * 
	 * @return
	 */
	public AsyncConduit getDefaultConduit();
	
	/**
	 * 根据消息获取该消息的业务处理器。
	 * 	
	 * 
	 * @since Dec 13, 2011
	 * @param message
	 * @return
	 */
	public IMessageProcessor getMessageProcessor(AsyncMessage message);

}
